home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1995-11-25 | 3.3 KB | 69 lines |
- DEFINITION MODULE CookieJar;
- (* c-> M2 -> ST 12/90, ST 1/91 *)
- (******************************************************************************)
- (* This MODULE is Public Domain. Copy me like a beast! *)
- (* Christian Ledermann *)
- (* Wölfelkofen 2 *)
- (* 84166 Adlkofen *)
- (******************************************************************************)
- (* *)
- (* Started: 20.12.92 03:54:30 *)
- (* Version: 20.12.89 03:244:12:54 *)
- (* *)
- (******************************************************************************)
- (* *)
- (* Diese Software ist ohne jede Garantie. Ich verspreche *)
- (* keinerlei Wartung und übernehme keine Verantwortung für Schäden die *)
- (* durch die Benutzung dieses Programmes entstehen. *)
- (* Jegliche Ersatzansprüche lehne ich ab. *)
- (* *)
- (******************************************************************************)
-
- FROM SYSTEM IMPORT ADDRESS;
-
- TYPE Cookie = RECORD
- CookieId : ARRAY [0..3] OF CHAR;
- CookieValue : LONGCARD;
- END(*RECORD*);
-
- PROCEDURE CreateCookie(VAR cookie:Cookie; id : ARRAY OF CHAR;
- value: LONGCARD );
- (* Initialisiert in der Variablen cookie einen Cookie;
- als weitere Parameter werden die Id des Coockies sowie
- dessen Wert übergeben *)
-
- PROCEDURE NewCookie(VAR Entry:Cookie):BOOLEAN;
- (* Trägt einen Neuen Cookie in den Jar ein.
- Achtung !
- Der Fall eines bereits vollen Jars wird hier nicht
- abgefangen. Es muss dann entsprechend Speicher ALLOCATEed
- und der ganze Jar umkopiert werden *)
-
- PROCEDURE GetCookie(VAR cookie:Cookie):BOOLEAN;
- (* fragt den Wert eines Cookies ab.
- Als Parameter wird dabei die ID des zu suchenden Cookies
- übergeben.
- die Routine liefert FALSE wenn der Cookie nicht
- gefunden wurde; wenn er gefunden wurde
- wird TRUE zurückgegeben und der Wert des Cookies
- in cookie.CookieValue eingetragen *)
-
- PROCEDURE CookieSize():LONGCARD;
- (* liefert die Grösse des installierten Jars, d.h. die Anzahl der
- maximal möglichen Einträge *)
- PROCEDURE RemoveCookie(VAR id : ARRAY OF CHAR);
- (* entfernt den mit id bezeichneten Cookie aus dem CookieJar*)
-
- PROCEDURE MoveCookieJar(Destination : ADDRESS; size :LONGCARD);
- (* verschiebt Kompletten CookieJar an eine neue Speicherstelle.
- Als Parameter werden die neue ADDRESSe des Jars sowie seine Grösse
- d.h. die Anzahl der in ihn hineinpassenden Cookies übergeben *)
-
- PROCEDURE PrintCookieJar;
- (* gibt den Inhalt des Cookie Jars mit WriteString, und WriteLongCard
- aus *)
- (* Zum Arbeiten kann dieser Teil auskommentiert werden falls man
- im eigenen Programm InOut , LongInOut nicht braucht *)
-
- END CookieJar.
-